{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pickle, yaml\n",
    "from pathlib import Path\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def saveFig(name, fig):\n",
    "    fig.savefig(\n",
    "        name,\n",
    "        dpi=None,\n",
    "        facecolor=fig.get_facecolor(),\n",
    "        edgecolor=\"none\",\n",
    "        orientation=\"portrait\",\n",
    "        format=\"png\",\n",
    "        transparent=False,\n",
    "        bbox_inches=\"tight\",\n",
    "        pad_inches=0.2,\n",
    "        metadata=None,\n",
    "    )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def read_pickle_and_config(path_to_pickle):\n",
    "    with open(path_to_pickle, \"rb\") as handle:\n",
    "        data = pickle.load(handle)\n",
    "\n",
    "    config_path = Path(path_to_pickle).parent / \".hydra\" / \"config.yaml\"\n",
    "    with open(config_path, \"r\") as file:\n",
    "        config = yaml.safe_load(file)\n",
    "\n",
    "    return data, config"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def fuse_by_dataset(losses):\n",
    "    \"\"\"Transform per-round history (list of dicts) into\n",
    "\n",
    "    a single dict, with values as lists.\"\"\"\n",
    "    fussed_losses = {}\n",
    "\n",
    "    for _, loss_dict in losses:\n",
    "        for k, v in loss_dict.items():\n",
    "            if k in fussed_losses:\n",
    "                fussed_losses[k].append(v)\n",
    "            else:\n",
    "                fussed_losses[k] = [v]\n",
    "    return fussed_losses"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def process_multirun_data(path_multirun):\n",
    "    \"\"\"Given a path to a multirun directory, this loads the history of all runs\"\"\"\n",
    "    res_list = []\n",
    "    for results in list(Path(path_multirun).glob(\"**/history.pkl\")):\n",
    "        data, config = read_pickle_and_config(results)\n",
    "        pre_train_loss = data[\"history\"].metrics_distributed_fit[\"pre_train_losses\"]\n",
    "        fussed_losses = fuse_by_dataset(pre_train_loss)\n",
    "        res_list.append(\n",
    "            {\n",
    "                \"strategy\": config[\"client\"][\"client_label\"],\n",
    "                \"train_losses\": fussed_losses,\n",
    "            }\n",
    "        )\n",
    "    return res_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Here replace with the path of the multi run you just comleted\n",
    "all_losses = process_multirun_data(\"../multirun/2023-11-15/22-28-28\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def average_by_client_type(all_fused_lossed):\n",
    "    \"\"\"If there are multliple runs for the same strategy add them up,\n",
    "\n",
    "    average them later. This is useful if you run the `--multirun` running\n",
    "    more than one time the same configuration.\"\"\"\n",
    "\n",
    "    # identify how many unique clients were used\n",
    "    to_plot = {}\n",
    "    for res in all_fused_lossed:\n",
    "        strategy = res[\"strategy\"]\n",
    "        if strategy not in to_plot:\n",
    "            to_plot[strategy] = {}\n",
    "\n",
    "        for dataset, train_loss in res[\"train_losses\"].items():\n",
    "            if dataset in to_plot[strategy]:\n",
    "                to_plot[strategy][dataset][\"train_loss\"] += np.array(train_loss)\n",
    "                to_plot[strategy][dataset][\"run_count\"] += 1\n",
    "            else:\n",
    "                to_plot[strategy][dataset] = {\"train_loss\": np.array(train_loss)}\n",
    "                to_plot[strategy][dataset][\"run_count\"] = 1\n",
    "\n",
    "    # print(to_plot)\n",
    "    return to_plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "to_plot = average_by_client_type(all_losses)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dict_keys(['SVHN', 'MNIST_M', 'SynthDigits', 'USPS', 'MNIST'])\n"
     ]
    },
    {
     "data": {
      "image/png": "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Z599llAo1OyyaPKopReTTZs2sWHDhq1+2iqrv+6661i7di3Tpk3bzkck4qwBAwYwZswYnnrqqdi2N998k/Lyck477bRWr7e9z/0ePXqQnZ3Nq6++yqZNm7Y77u110EEH0bdv32aJ5GeeeYa8vDyOPvpo2+OR9NKeY9RZZ53Fd999t9U+c+fO5eeff95qWvT06dO59dZbueCCC7jxxhtZtmwZJ510EoFAAIALLrgg9m3m448/HvvpyG20x1lnnQXQ4reqUeFwmGOPPZannnqKyZMnc9NNN1FSUsLkyZO3efuPP/44Pp+PAw88MPYYLrjgAgB+//vfM23aNH71q19x7733cvnll5Odnc38+fPbHb+IU/r3708oFNpqXHbE4sWLAejatWvsNufMmcOqVaviEqNIKsi096zSNiWKpJnLL7+cmpoaRo4cydixY7nyyiuZNWvWVm92J02axNq1a5kzZ05sWzgc5plnnmHMmDEMGjRoq9seMmQI3bt33+qnpca3UQceeCCHHnoot956q6qKJGWdccYZzJgxI/YcfvLJJzn44IPp3bt3q9fZ3ue+y+Xiz3/+M1999RX9+vVj4sSJ3HzzzbZVBhiGwWmnndbsTcaTTz7JSSed1OrcdpH2as8x6te//jV+v58nnnii2XWfeOIJcnNzOemkk5ptX7FiBV988QVXXHEFf/7zn3nooYdYtWoVM2fOBGDMmDHssssugNV7L/rTkdtoj9133x1o/MDakhkzZvDpp59y++238+9//5uLLrqIt956K/bhti1nnnkmHo+HQYMGxR7DmDFjAHj99dc5//zzuf322/ntb3/LFVdcwSuvvBKX6mCRRDv33HPp3r0755xzDsOGDePCCy/kqaeeory8vNXrRL+sXLx4MbfccgszZsxg+PDhDBkyBIArr7ySlStXstNOO3HYYYdx7bXX8tFHH213zzCRVJFJ71mlbUoUSTPjxo3j008/5bjjjuPbb7/ln//8JxMmTKBPnz688sorsf1OPfVUvF5vs6qB999/n9WrV7f6xvKFF15g9uzZW/307NmzzZiuu+46SktLue++++LzIEVsdsopp1BbW8trr71GZWUlr732WrumYW3vc3/q1KlMnz6dPffck5kzZ3LNNdew1157MWrUKFsqBM444wwWLVrE3LlzY6eadibx0J5jVKdOnTj++ON56qmnME0TgFAoxDPPPMMJJ5xAbm5us9s89dRT6dy5c+z8gQceCMCSJUvaHVc8biPabLeysrLVfd566y28Xi/nn39+bJvL5eKiiy5q9/20pLCwkM8//5w1a9bs0O2IOKFnz558++23/P73v2fz5s3cd999nHHGGfTo0YMbbrgh9joQVV1dHfuycvDgwfzlL39hzJgxvPTSS7F9zj33XN566y0OOeQQPvroI2644QYOPPBAdt55Zz755BO7H6KIbTLtPau0Toki2co+++zDiy++yObNm/niiy+4+uqrqays5OSTT+ann34CrNLcCRMm8NJLL1FXVwdYpfcej4dTTjmlxds96KCDOOKII7b62dbc8YMOOohDDz1UvYokZXXv3p0jjjiC6dOn8+KLLxIKhTj55JO3eb0dee6ffvrpfPjhh2zevJlZs2Zxxhln8M0333DsscfGxmyi7LnnngwdOpTp06fz5JNPUlRUxGGHHZbQ+5TM0Z5j1Nlnn82KFSv48MMPAXj77bdZu3ZtbHpXU/369Wt2Pprw2bx5c7tjisdtRJfwzs/Pb3Wf5cuX06tXr61Wlhk8eHC776cl//znP/nhhx8oLi5m9OjRXHfddR1Kcok4oWkPrl69ejFt2jRKSkpYuHAhd999N927d+faa6/loYceanY9v98f+7Lygw8+YOXKlXz88cdbVcNPmDCBmTNnUlZWxgcffMBFF13E8uXLOeaYY9TQWtJWpr1nldYpUSStysrKYp999uHmm29m2rRpBAIBnnvuudjlZ555JhUVFbz22ms0NDTwwgsvMH78eLp37x73WP7+979TWlrKf//737jftogdzjjjDN58803uu+8+jjrqqBab8bZkR5/7BQUFjBs3jieffJLJkyezePFiPv/88+26rY4444wzeOaZZ5g+fTqnnnoqLpcONxJfbR2jJkyYQM+ePWPTz5544gmKioo44ogjtrodt9vd4u1vWYXQlnjcRrSn0o4mfbbHKaecwpIlS/j3v/9N7969ufXWW9ltt9148803bY9FBIh9idjaB86ampoWv2g0DINddtmFiy++mA8++ACXy8WTTz7ZbB+32x37svLAAw+kb9++bcaSk5PDgQceyH/+8x/++te/snnzZo0NSWuZ9p5VWqZ37tIue++9NwAlJSWxbccddxz5+flMnz6dN998k82bNyesn8HBBx/MIYccwj/+8Q9VFUlKOvHEE3G5XHz22WcdmoYVz+d+S+M4Uc444wxKSkr4+eefNe1MEm7L57bb7eaMM87g+eefZ/PmzcyYMYPTTz+91YTOtrS0ylm8RRvxRldla0n//v0pKSmhpqam2fZFixa16z7aehy9evXiD3/4AzNmzGDp0qV07dqVm266qV23KxJv/fv3B2DhwoVbXVZTU8PKlStj+7Rm0KBBdO7cOa7HPDuPoyJOybT3rNIyJYqkmXfffbfFb0DfeOMNgFiTP4Ds7GxOPPFE3njjDaZNm0Zubi7HH398wmKLzn29//77E3YfIomSl5fHtGnTuO666zj22GM7dN2OPPdramr49NNPW7ws+g1o03GcKDvttBP/+te/uOWWWxg9enTC708yQ0eOUWeddRabN2/mggsuoKqqaqsG1B0R7WtUVla23bfRlunTp/Pggw8yZswYDj/88Fb3mzBhAoFAgAceeCC2LRwOc88997TrfnJzc7d6DKFQaKumvz169KB3797U19e3/0GIxNHhhx9OVlYW06ZN26qB9P33308wGOSoo44C4PPPP6e6unqr2/jiiy/YuHHjdh3zmi7W0lRLrzUi6SbT3rNKyzxOByDJ5eKLL6ampoYTTzyRoUOH0tDQwCeffMIzzzzDgAED+M1vftNs/zPPPJPHHnuMmTNnMmnSpK2ahMbTwQcfzMEHH8z777+fsPsQSaT2LGHdko4892tqahg7diz77bcfRx55JMXFxZSVlTFjxgw+/PBDTjjhBPbcc8/tiqOjLrnkElvuRzJHR45Re+65J7vvvjvPPfccw4YNY9SoUdt9v3vttRcAf/rTn5gwYQJut7vNpYLb8vzzz5OXl0dDQwOrV69m5syZfPzxx4wYMaLZ9O6WnHDCCYwePZr/+7//Y9GiRQwdOpRXXnkltqzwtiqf9tprL95++23uuOMOevfuzcCBAxkyZAh9+/bl5JNPZsSIEeTl5fH2228zd+5cbr/99u16jCI7qkePHlx77bX89a9/5aCDDuK4444jJyeHTz75hKeeeorx48fHPsA+/vjjPPnkk5x44onstddeZGVlMX/+fB5++GH8fj9/+ctfOnz/xx9/PAMHDuTYY49lp512orq6mrfffptXX32VffbZp8MfnkVSTaa9Z5WtKVEkzdx2220899xzvPHGG9x///00NDTQr18//vCHP/DXv/51qzmqhx12GL169aKkpMSWZXSvu+46Dj300ITfj0iyae9zv7CwkAceeIDXX3+d//3vf5SWluJ2uxkyZAi33norf/rTn2yIViQxOnqMOvvss7niiitabGLdESeddBIXX3wxTz/9NE888QSmaW53oujCCy8ErB4s3bp1Y+TIkTz88MOcccYZ+Hy+Nq/rdrt5/fXXueSSS3j00UdxuVyceOKJ/P3vf2f//fff5uIQd9xxB7/73e/461//Sm1tLZMnT+b+++/nD3/4A7NmzeLFF18kHA4zePBg7r333lisIk645pprGDBgAP/5z3+4/vrrCQaDDBw4kKlTp3LllVfGet9dcMEF5OTkMGfOHF5++WUqKiro3r0748eP5+qrr96uD5oPPvggL7/8Ms8++yxr1qzBNE0GDRrENddcw5VXXonHo49QIq3Re9b0YJgd6bQoIiIikiLuuusuLrvsMpYtW7bVymTpZMaMGZx44ol89NFH7L///k6HIyIiIilOiSIRERFJO6ZpMmLECLp27cq7777rdDhxU1tbS3Z2dux8KBRi/PjxfPnll5SWlja7TERERGR7qG5SRERaVV5evs2VK4qKimyKRmTbqqureeWVV3j33Xf5/vvvefnll50OKa4uvvhiamtrGTNmDPX19bz44ot88skn3HzzzUoSiYiISFyookhERFp1zjnn8Oijj7a5jw4jkkyWLVvGwIEDKSws5A9/+EPaLfE+ffp0br/9dhYtWkRdXR2DBw/mwgsv5I9//KPToYmIiEiaUKJIRERa9dNPP7FmzZo29zniiCNsikZERERERBJNiSIREREREREREQHA5XQAIiIiIiIiIiKSHDKumXU4HGbNmjXk5+djGIbT4YgkjGmaVFZW0rt3b1yu5MkJawxKpkjGMajxJ5kiGccfaAxK5kjGMajxJ5kiHuMv4xJFa9asobi42OkwRGyzcuVK+vbt63QYMRqDkmmSaQxq/EmmSabxBxqDknmSaQxq/Emm2ZHxl3GJovz8fMD6oxUUFLS4TyAQYNasWYwfPx6v12tneB2mWBMjHWKtqKiguLg49pxPFtsag+nwt09GijUx2oo1GcegjoHOUayJoWOgcxRrYqRLrMk4BnUMdI5ijb9Ej7+MSxRFywwLCgrafIHIycmhoKAgqZ8coFgTJZ1iTbbS2m2NwXT62ycT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",
      "text/plain": [
       "<Figure size 1400x400 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "datasets = to_plot[list(to_plot.keys())[0]].keys()\n",
    "print(datasets)\n",
    "\n",
    "num_datasets = len(datasets)\n",
    "fig, axs = plt.subplots(figsize=(14, 4), nrows=1, ncols=num_datasets)\n",
    "\n",
    "\n",
    "for s_id, (strategy, results) in enumerate(to_plot.items()):\n",
    "    for i, dataset in enumerate(datasets):\n",
    "        loss = results[dataset][\"train_loss\"] / results[dataset][\"run_count\"]\n",
    "        axs[i].plot(range(len(loss)), loss, label=strategy)\n",
    "        axs[i].set_xlabel(\"Round\")\n",
    "        if i == 0:\n",
    "            axs[i].set_ylabel(\"Train Loss\")\n",
    "\n",
    "        axs[i].legend()\n",
    "\n",
    "        if s_id == 0:\n",
    "            axs[i].grid()\n",
    "            axs[i].set_title(dataset)\n",
    "            axs[i].set_xticks(np.arange(0, 100 + 1, 25))\n",
    "\n",
    "saveFig(\"train_loss.png\", fig)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "fedbn-LmgZrzC0-py3.10",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
